Micron Document
🎖️GitЯра🎖️


Displaying Raw • Download

feature/messaging/src/commonMain/kotlin/org/meshtastic/feature/messaging/QuickChat.kt 1390a3cd4f7bc55a37433d1d868e65c01678eb31 (1390a3cd) Text, 12.82 KB

T8b949e/*
* Copyright (c) 2025-2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.feature.messaging

Tff7b72import T7ee787androidx.compose.foundation.layout.Box
Tff7b72import T7ee787androidx.compose.foundation.layout.Column
Tff7b72import T7ee787androidx.compose.foundation.layout.ExperimentalLayoutApi
Tff7b72import T7ee787androidx.compose.foundation.layout.PaddingValues
Tff7b72import T7ee787androidx.compose.foundation.layout.Row
Tff7b72import T7ee787androidx.compose.foundation.layout.Spacer
Tff7b72import T7ee787androidx.compose.foundation.layout.fillMaxSize
Tff7b72import T7ee787androidx.compose.foundation.layout.fillMaxWidth
Tff7b72import T7ee787androidx.compose.foundation.layout.height
Tff7b72import T7ee787androidx.compose.foundation.layout.padding
Tff7b72import T7ee787androidx.compose.foundation.layout.size
Tff7b72import T7ee787androidx.compose.foundation.layout.width
Tff7b72import T7ee787androidx.compose.foundation.lazy.LazyColumn
Tff7b72import T7ee787androidx.compose.foundation.lazy.rememberLazyListState
Tff7b72import T7ee787androidx.compose.foundation.shape.RoundedCornerShape
Tff7b72import T7ee787androidx.compose.material3.Card
Tff7b72import T7ee787androidx.compose.material3.FloatingActionButton
Tff7b72import T7ee787androidx.compose.material3.Icon
Tff7b72import T7ee787androidx.compose.material3.IconButton
Tff7b72import T7ee787androidx.compose.material3.ListItem
Tff7b72import T7ee787androidx.compose.material3.MaterialTheme
Tff7b72import T7ee787androidx.compose.material3.OutlinedTextField
Tff7b72import T7ee787androidx.compose.material3.Scaffold
Tff7b72import T7ee787androidx.compose.material3.Switch
Tff7b72import T7ee787androidx.compose.material3.Text
Tff7b72import T7ee787androidx.compose.material3.TextButton
Tff7b72import T7ee787androidx.compose.runtime.Composable
Tff7b72import T7ee787androidx.compose.runtime.LaunchedEffect
Tff7b72import T7ee787androidx.compose.runtime.getValue
Tff7b72import T7ee787androidx.compose.runtime.mutableStateOf
Tff7b72import T7ee787androidx.compose.runtime.remember
Tff7b72import T7ee787androidx.compose.runtime.setValue
Tff7b72import T7ee787androidx.compose.ui.Alignment
Tff7b72import T7ee787androidx.compose.ui.Modifier
Tff7b72import T7ee787androidx.compose.ui.focus.FocusRequester
Tff7b72import T7ee787androidx.compose.ui.focus.focusRequester
Tff7b72import T7ee787androidx.compose.ui.focus.onFocusEvent
Tff7b72import T7ee787androidx.compose.ui.platform.LocalHapticFeedback
Tff7b72import T7ee787androidx.compose.ui.unit.dp
Tff7b72import T7ee787androidx.lifecycle.compose.collectAsStateWithLifecycle
Tff7b72import T7ee787org.jetbrains.compose.resources.stringResource
Tff7b72import T7ee787org.meshtastic.core.database.entity.QuickChatAction
Tff7b72import T7ee787org.meshtastic.core.resources.Res
Tff7b72import T7ee787org.meshtastic.core.resources.add
Tff7b72import T7ee787org.meshtastic.core.resources.cancel
Tff7b72import T7ee787org.meshtastic.core.resources.delete
Tff7b72import T7ee787org.meshtastic.core.resources.message
Tff7b72import T7ee787org.meshtastic.core.resources.name
Tff7b72import T7ee787org.meshtastic.core.resources.quick_chat
Tff7b72import T7ee787org.meshtastic.core.resources.quick_chat_append
Tff7b72import T7ee787org.meshtastic.core.resources.quick_chat_edit
Tff7b72import T7ee787org.meshtastic.core.resources.quick_chat_instant
Tff7b72import T7ee787org.meshtastic.core.resources.quick_chat_new
Tff7b72import T7ee787org.meshtastic.core.resources.save
Tff7b72import T7ee787org.meshtastic.core.ui.component.MainAppBar
Tff7b72import T7ee787org.meshtastic.core.ui.component.MeshtasticDialog
Tff7b72import T7ee787org.meshtastic.core.ui.component.dragContainer
Tff7b72import T7ee787org.meshtastic.core.ui.component.dragDropItemsIndexed
Tff7b72import T7ee787org.meshtastic.core.ui.component.rememberDragDropState
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Add
Tff7b72import T7ee787org.meshtastic.core.ui.icon.DragHandle
Tff7b72import T7ee787org.meshtastic.core.ui.icon.Edit
Tff7b72import T7ee787org.meshtastic.core.ui.icon.FastForward
Tff7b72import T7ee787org.meshtastic.core.ui.icon.MeshtasticIcons

Tf0883e@Composable
Tff7b72fun Td2a8ffQuickChatScreenTb4b4b4(Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4, Te6edf3viewModelTb4b4b4: Te6edf3QuickChatViewModelTb4b4b4, Te6edf3onNavigateUpTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3actions Tff7b72by Te6edf3viewModelTb4b4b4.Te6edf3quickChatActionsTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Tff7b72var Te6edf3showActionDialog Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableStateOfTff7b72<Te6edf3QuickChatAction?Tff7b72>Tb4b4b4(Tff7b72nullTb4b4b4) Tb4b4b4}

Tff7b72val Te6edf3listState Tff7b72= Te6edf3rememberLazyListStateTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3dragDropState Tff7b72=
Te6edf3rememberDragDropStateTb4b4b4(Te6edf3listStateTb4b4b4) Tb4b4b4{ Te6edf3fromIndexTb4b4b4, Te6edf3toIndex Tff7b72-Tff7b72>
Tff7b72val Te6edf3list Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3toMutableListTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3apply Tb4b4b4{ Te6edf3addTb4b4b4(Te6edf3toIndexTb4b4b4, Te6edf3removeAtTb4b4b4(Te6edf3fromIndexTb4b4b4)Tb4b4b4) Tb4b4b4}
Te6edf3viewModelTb4b4b4.Te6edf3updateActionPositionsTb4b4b4(Te6edf3listTb4b4b4)
Tb4b4b4}

Te6edf3ScaffoldTb4b4b4(
Te6edf3topBar Tff7b72= Tb4b4b4{
Te6edf3MainAppBarTb4b4b4(
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chatTb4b4b4)Tb4b4b4,
Te6edf3ourNode Tff7b72= Tff7b72nullTb4b4b4,
Te6edf3showNodeChip Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3canNavigateUp Tff7b72= Tff7b72trueTb4b4b4,
Te6edf3onNavigateUp Tff7b72= Te6edf3onNavigateUpTb4b4b4,
Te6edf3actions Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4,
Te6edf3onClickChip Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tb4b4b4{ Te6edf3innerPadding Tff7b72-Tff7b72>
Te6edf3BoxTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4.Te6edf3fillMaxSizeTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3innerPaddingTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3showActionDialogTff7b72?.Te6edf3let Tb4b4b4{
Te6edf3EditQuickChatDialogTb4b4b4(
Te6edf3action Tff7b72= Tffa657itTb4b4b4,
Te6edf3onSave Tff7b72= Te6edf3viewModelTff7b72::Te6edf3addQuickChatActionTb4b4b4,
Te6edf3onDelete Tff7b72= Te6edf3viewModelTff7b72::Te6edf3deleteQuickChatActionTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3showActionDialog Tff7b72= Tff7b72null
Tb4b4b4}
Tb4b4b4}

Te6edf3LazyColumnTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3dragContainerTb4b4b4(Te6edf3dragDropState Tff7b72= Te6edf3dragDropStateTb4b4b4, Te6edf3haptics Tff7b72= Te6edf3LocalHapticFeedbackTb4b4b4.Te6edf3currentTb4b4b4)Tb4b4b4,
Te6edf3state Tff7b72= Te6edf3listStateTb4b4b4,
Te6edf3contentPadding Tff7b72= Te6edf3PaddingValuesTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3dragDropItemsIndexedTb4b4b4(Te6edf3items Tff7b72= Te6edf3actionsTb4b4b4, Te6edf3dragDropState Tff7b72= Te6edf3dragDropStateTb4b4b4, Te6edf3key Tff7b72= Tb4b4b4{ Te6edf3_Tb4b4b4, Te6edf3item Tff7b72-Tff7b72> Te6edf3itemTb4b4b4.Te6edf3uuid Tb4b4b4}Tb4b4b4) Tb4b4b4{
Te6edf3_Tb4b4b4,
Te6edf3actionTb4b4b4,
Te6edf3isDraggingTb4b4b4,
Tff7b72-Tff7b72>
Te6edf3QuickChatItemTb4b4b4(Te6edf3action Tff7b72= Te6edf3actionTb4b4b4, Te6edf3onEdit Tff7b72= Tb4b4b4{ Te6edf3showActionDialog Tff7b72= Tffa657it Tb4b4b4}Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Te6edf3FloatingActionButtonTb4b4b4(
Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3showActionDialog Tff7b72= Te6edf3QuickChatActionTb4b4b4(Te6edf3position Tff7b72= Te6edf3actionsTb4b4b4.Te6edf3sizeTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3alignTb4b4b4(Te6edf3AlignmentTb4b4b4.Te6edf3BottomEndTb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(Te6edf3imageVector Tff7b72= Te6edf3MeshtasticIconsTb4b4b4.Te6edf3AddTb4b4b4, Te6edf3contentDescription Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3addTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}

Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffMagicNumberTa5d6ff"Tb4b4b4)
Tff7b72private Tff7b72fun Td2a8ffgetMessageNameTb4b4b4(Te6edf3messageTb4b4b4: Tffa657StringTb4b4b4)Tb4b4b4: Tffa657String Tff7b72= Tff7b72if Tb4b4b4(Te6edf3messageTb4b4b4.Te6edf3length Tff7b72<Tff7b72= T79c0ff3Tb4b4b4) Tb4b4b4{
Te6edf3messageTb4b4b4.Te6edf3uppercaseTb4b4b4(Tb4b4b4)
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3buildString Tb4b4b4{
Te6edf3appendTb4b4b4(Te6edf3messageTb4b4b4.Te6edf3firstTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3uppercaseTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3appendTb4b4b4(Te6edf3messageTff7b72[Te6edf3messageTb4b4b4.Te6edf3length Tff7b72/ T79c0ff2Tff7b72]Tb4b4b4.Te6edf3uppercaseTb4b4b4(Tb4b4b4)Tb4b4b4)
Te6edf3appendTb4b4b4(Te6edf3messageTb4b4b4.Te6edf3lastTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3uppercaseTb4b4b4(Tb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Tf0883e@OptInTb4b4b4(Te6edf3ExperimentalLayoutApiTff7b72::Te6edf3classTb4b4b4)
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffLongMethodTa5d6ff"Tb4b4b4)
Tf0883e@Composable
Tff7b72internal Tff7b72fun Td2a8ffEditQuickChatDialogTb4b4b4(
Te6edf3actionTb4b4b4: Te6edf3QuickChatActionTb4b4b4,
Te6edf3onSaveTb4b4b4: Tb4b4b4(Te6edf3QuickChatActionTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3onDeleteTb4b4b4: Tb4b4b4(Te6edf3QuickChatActionTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3onDismissTb4b4b4: Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Tb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3actionInput Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableStateOfTb4b4b4(Te6edf3actionTb4b4b4) Tb4b4b4}
Tff7b72val Te6edf3newQuickChat Tff7b72= Te6edf3remember Tb4b4b4{ Te6edf3actionTb4b4b4.Te6edf3uuid Tff7b72=Tff7b72= T79c0ff0L Tb4b4b4}
Tff7b72val Te6edf3isInstant Tff7b72= Te6edf3actionInputTb4b4b4.Te6edf3mode Tff7b72=Tff7b72= Te6edf3QuickChatActionTb4b4b4.Te6edf3ModeTb4b4b4.Te6edf3Instant
Tff7b72val Te6edf3title Tff7b72= Tff7b72if Tb4b4b4(Te6edf3newQuickChatTb4b4b4) Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chat_new Tff7b72else Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chat_edit

Tff7b72val Te6edf3focusRequester Tff7b72= Te6edf3remember Tb4b4b4{ Te6edf3FocusRequesterTb4b4b4(Tb4b4b4) Tb4b4b4}
Te6edf3LaunchedEffectTb4b4b4(Tffa657UnitTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3newQuickChatTb4b4b4) Tb4b4b4{
Te6edf3focusRequesterTb4b4b4.Te6edf3requestFocusTb4b4b4(Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Te6edf3MeshtasticDialogTb4b4b4(
Te6edf3onDismiss Tff7b72= Te6edf3onDismissTb4b4b4,
Te6edf3title Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3titleTb4b4b4)Tb4b4b4,
Te6edf3confirmText Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3saveTb4b4b4)Tb4b4b4,
Te6edf3onConfirm Tff7b72= Tb4b4b4{
Te6edf3onSaveTb4b4b4(Te6edf3actionInputTb4b4b4)
Te6edf3onDismissTb4b4b4(Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Te6edf3dismissText Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3cancelTb4b4b4)Tb4b4b4,
Te6edf3text Tff7b72= Tb4b4b4{
Te6edf3ColumnTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)

Te6edf3OutlinedTextFieldWithCounterTb4b4b4(
Te6edf3label Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4,
Te6edf3value Tff7b72= Te6edf3actionInputTb4b4b4.Te6edf3nameTb4b4b4,
Te6edf3maxSize Tff7b72= T79c0ff5Tb4b4b4,
Te6edf3singleLine Tff7b72= Tff7b72trueTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3actionInput Tff7b72= Te6edf3actionInputTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3name Tff7b72= Tffa657itTb4b4b4.Te6edf3uppercaseTb4b4b4(Tb4b4b4)Tb4b4b4)
Tb4b4b4}

Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)

Te6edf3OutlinedTextFieldWithCounterTb4b4b4(
Te6edf3label Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3messageTb4b4b4)Tb4b4b4,
Te6edf3value Tff7b72= Te6edf3actionInputTb4b4b4.Te6edf3messageTb4b4b4,
Te6edf3maxSize Tff7b72= T79c0ff2T79c0ff0T79c0ff0Tb4b4b4,
Te6edf3getSize Tff7b72= Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3encodeToByteArrayTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3size Tff7b72+ T79c0ff1 Tb4b4b4}Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3focusRequesterTb4b4b4(Te6edf3focusRequesterTb4b4b4)Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3actionInput Tff7b72= Te6edf3actionInputTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3message Tff7b72= Tffa657itTb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3newQuickChatTb4b4b4) Tb4b4b4{
Te6edf3actionInput Tff7b72= Te6edf3actionInputTb4b4b4.Te6edf3copyTb4b4b4(Te6edf3name Tff7b72= Te6edf3getMessageNameTb4b4b4(Tffa657itTb4b4b4)Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4)

Tff7b72val Tb4b4b4(Te6edf3textTb4b4b4, Te6edf3iconTb4b4b4) Tff7b72=
Tff7b72if Tb4b4b4(Te6edf3isInstantTb4b4b4) Tb4b4b4{
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chat_instant Te6edf3to Te6edf3MeshtasticIconsTb4b4b4.Te6edf3FastForward
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chat_append Te6edf3to Te6edf3MeshtasticIconsTb4b4b4.Te6edf3Add
Tb4b4b4}

Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3isInstantTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(Te6edf3imageVector Tff7b72= Te6edf3iconTb4b4b4, Te6edf3contentDescription Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4)
Te6edf3SpacerTb4b4b4(Te6edf3ModifierTb4b4b4.Te6edf3widthTb4b4b4(T79c0ff1T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4)
Tb4b4b4}

Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4, Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3weightTb4b4b4(T79c0ff1fTb4b4b4)Tb4b4b4)

Te6edf3SwitchTb4b4b4(
Te6edf3checked Tff7b72= Te6edf3isInstantTb4b4b4,
Te6edf3onCheckedChange Tff7b72= Tb4b4b4{ Te6edf3checked Tff7b72-Tff7b72>
Te6edf3actionInput Tff7b72=
Te6edf3actionInputTb4b4b4.Te6edf3copyTb4b4b4(
Te6edf3mode Tff7b72=
Tff7b72when Tb4b4b4(Te6edf3checkedTb4b4b4) Tb4b4b4{
Tff7b72true Tff7b72-Tff7b72> Te6edf3QuickChatActionTb4b4b4.Te6edf3ModeTb4b4b4.Te6edf3Instant
Tff7b72false Tff7b72-Tff7b72> Te6edf3QuickChatActionTb4b4b4.Te6edf3ModeTb4b4b4.Te6edf3Append
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}

Tff7b72if Tb4b4b4(Tff7b72!Te6edf3newQuickChatTb4b4b4) Tb4b4b4{
Te6edf3SpacerTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3heightTb4b4b4(T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4)
Te6edf3TextButtonTb4b4b4(
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3onClick Tff7b72= Tb4b4b4{
Te6edf3onDeleteTb4b4b4(Te6edf3actionInputTb4b4b4)
Te6edf3onDismissTb4b4b4(Tb4b4b4)
Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3deleteTb4b4b4)Tb4b4b4, Te6edf3color Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3colorSchemeTb4b4b4.Te6edf3errorTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}

Tf0883e@Composable
Tff7b72private Tff7b72fun Td2a8ffOutlinedTextFieldWithCounterTb4b4b4(
Te6edf3labelTb4b4b4: Tffa657StringTb4b4b4,
Te6edf3valueTb4b4b4: Tffa657StringTb4b4b4,
Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4,
Te6edf3singleLineTb4b4b4: Tffa657Boolean Tff7b72= Tff7b72falseTb4b4b4,
Te6edf3maxSizeTb4b4b4: Tffa657IntTb4b4b4,
Te6edf3getSizeTb4b4b4: Tb4b4b4(Tffa657StringTb4b4b4) Tff7b72-Tff7b72> Tffa657Int Tff7b72= Tb4b4b4{ Tffa657itTb4b4b4.Te6edf3length Tb4b4b4}Tb4b4b4,
Te6edf3onValueChangeTb4b4b4: Tb4b4b4(Tffa657StringTb4b4b4) Tff7b72-Tff7b72> Tffa657Unit Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tff7b72= Te6edf3ColumnTb4b4b4(Te6edf3modifierTb4b4b4) Tb4b4b4{
Tff7b72var Te6edf3isFocused Tff7b72by Te6edf3remember Tb4b4b4{ Te6edf3mutableStateOfTb4b4b4(Tff7b72falseTb4b4b4) Tb4b4b4}
Te6edf3OutlinedTextFieldTb4b4b4(
Te6edf3value Tff7b72= Te6edf3valueTb4b4b4,
Te6edf3onValueChange Tff7b72= Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3getSizeTb4b4b4(Tffa657itTb4b4b4) Tff7b72<Tff7b72= Te6edf3maxSizeTb4b4b4) Tb4b4b4{
Te6edf3onValueChangeTb4b4b4(Tffa657itTb4b4b4)
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3onFocusEvent Tb4b4b4{ Te6edf3isFocused Tff7b72= Tffa657itTb4b4b4.Te6edf3isFocused Tb4b4b4}Tb4b4b4,
Te6edf3label Tff7b72= Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3labelTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3singleLine Tff7b72= Te6edf3singleLineTb4b4b4,
Tb4b4b4)
Tff7b72if Tb4b4b4(Te6edf3isFocusedTb4b4b4) Tb4b4b4{
Te6edf3TextTb4b4b4(
Te6edf3text Tff7b72= Ta5d6ff"Tffd700${Te6edf3getSizeTb4b4b4(Te6edf3valueTb4b4b4)Tffd700}Ta5d6ff/Tffd700$Te6edf3maxSizeTa5d6ff"Tb4b4b4,
Te6edf3style Tff7b72= Te6edf3MaterialThemeTb4b4b4.Te6edf3typographyTb4b4b4.Te6edf3bodySmallTb4b4b4,
Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3alignTb4b4b4(Te6edf3AlignmentTb4b4b4.Te6edf3EndTb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(Te6edf3top Tff7b72= T79c0ff4.Te6edf3dpTb4b4b4, Te6edf3end Tff7b72= T79c0ff1T79c0ff6.Te6edf3dpTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Tf0883e@Composable
Tff7b72internal Tff7b72fun Td2a8ffQuickChatItemTb4b4b4(
Te6edf3actionTb4b4b4: Te6edf3QuickChatActionTb4b4b4,
Te6edf3modifierTb4b4b4: Te6edf3Modifier Tff7b72= Te6edf3ModifierTb4b4b4,
Te6edf3onEditTb4b4b4: Tb4b4b4(Te6edf3QuickChatActionTb4b4b4) Tff7b72-Tff7b72> Tffa657Unit Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3CardTb4b4b4(Te6edf3modifier Tff7b72= Te6edf3modifierTb4b4b4.Te6edf3fillMaxWidthTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3paddingTb4b4b4(T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4, Te6edf3shape Tff7b72= Te6edf3RoundedCornerShapeTb4b4b4(T79c0ff1T79c0ff2.Te6edf3dpTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3ListItemTb4b4b4(
Te6edf3leadingContent Tff7b72= Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3actionTb4b4b4.Te6edf3mode Tff7b72=Tff7b72= Te6edf3QuickChatActionTb4b4b4.Te6edf3ModeTb4b4b4.Te6edf3InstantTb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3imageVector Tff7b72= Te6edf3MeshtasticIconsTb4b4b4.Te6edf3FastForwardTb4b4b4,
Te6edf3contentDescription Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chat_instantTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3headlineContent Tff7b72= Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3actionTb4b4b4.Te6edf3nameTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3supportingContent Tff7b72= Tb4b4b4{ Te6edf3TextTb4b4b4(Te6edf3text Tff7b72= Te6edf3actionTb4b4b4.Te6edf3messageTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3trailingContent Tff7b72= Tb4b4b4{
Te6edf3RowTb4b4b4(Te6edf3verticalAlignment Tff7b72= Te6edf3AlignmentTb4b4b4.Te6edf3CenterVerticallyTb4b4b4) Tb4b4b4{
Te6edf3IconButtonTb4b4b4(Te6edf3onClick Tff7b72= Tb4b4b4{ Te6edf3onEditTb4b4b4(Te6edf3actionTb4b4b4) Tb4b4b4}Tb4b4b4, Te6edf3modifier Tff7b72= Te6edf3ModifierTb4b4b4.Te6edf3sizeTb4b4b4(T79c0ff4T79c0ff8.Te6edf3dpTb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3IconTb4b4b4(
Te6edf3imageVector Tff7b72= Te6edf3MeshtasticIconsTb4b4b4.Te6edf3EditTb4b4b4,
Te6edf3contentDescription Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chat_editTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3IconTb4b4b4(
Te6edf3imageVector Tff7b72= Te6edf3MeshtasticIconsTb4b4b4.Te6edf3DragHandleTb4b4b4,
Te6edf3contentDescription Tff7b72= Te6edf3stringResourceTb4b4b4(Te6edf3ResTb4b4b4.Te6edf3stringTb4b4b4.Te6edf3quick_chatTb4b4b4)Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Tb4b4b4}

Served by rngit 1.5.0 - Generated in 0.1s